From 64444f844e6894f6d1a764542ce9f9d0e06a48be Mon Sep 17 00:00:00 2001 From: Alastair Tse Date: Wed, 24 Jan 2007 15:50:58 +0000 Subject: [PATCH] [XEND] Cleanup old domains in statistics monitor. Signed-off-by: Alastair Tse --- tools/python/xen/xend/XendMonitor.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/tools/python/xen/xend/XendMonitor.py b/tools/python/xen/xend/XendMonitor.py index 134cca4365..855cff216c 100644 --- a/tools/python/xen/xend/XendMonitor.py +++ b/tools/python/xen/xend/XendMonitor.py @@ -220,10 +220,11 @@ class XendMonitor(threading.Thread): while True: self.lock.acquire() try: - + active_domids = set() # Calculate utilisation for VCPUs for domid, cputimes in self._get_cpu_stats().items(): + active_domids.add(domid) if domid not in self._domain_vcpus: # if not initialised, save current stats # and skip utilisation calculation @@ -310,6 +311,19 @@ class XendMonitor(threading.Thread): self.pifs_util[pifid] = (rx_util, tx_util) self.pifs[pifid] = stats + for domid in self.domain_vcpus_util.keys(): + if domid not in active_domids: + del self.domain_vcpus_util[domid] + del self.domain_vcpus[domid] + for domid in self.domain_vifs_util.keys(): + if domid not in active_domids: + del self.domain_vifs_util[domid] + del self.domain_vifs[domid] + for domid in self.domain_vbds_util.keys(): + if domid not in active_domids: + del self.domain_vbds_util[domid] + del self.domain_vbds[domid] + finally: self.lock.release() -- 2.30.2